Computer-based tools to aid in the preparation of indexes fall into two general classes. The first class of indexing systems are those that collect the keywords and page references for the index automatically, from an electronic version of the manuscript. To identify the words to be collected to the index, these systems use either explicit markup, automatic extraction of all words (filtered by inclusion or exclusion lists), or a combination of both methods. The primary benefit of these systems is that since the page references and keywords are generated automatically, they can easily be updated when the electronic document is modified.
The second class of indexing systems are those that depend on a human to enter the keywords and page references manually, but then allow subsequent electronic manipulation of the entries. The benefit of these systems is that they provide assistance in editing the index entries after the index has been compiled.
Both classes of indexing systems generally perform adequately. However, while world extraction is easy to use for the first class, it generates inferior single-word indexes. Explicit inclusion allows greater control over which words appear in the index. A more significant drawback is that using either class of system systems, the task of specifying the content of an index for a manuscript is usually tedious and time consuming. Not only are the mechanics of creating the index daunting; indexing is also a demanding creative endeavor. Once the keywords making up an index have been identified, they must be honed, shaped, and edited to properly reflect the meaning and scope of the manuscript. The effort devoted to editing keywords in an index can be equal to or greater than the effort applied to editing the body of the manuscript. Existing indexing systems of the first class offer little support for this editing. Any editing that is done on the constructed index must be repeated each time the index is generated.